Problem destroy objektu TQRComposite

Otázka od: Josef Kýn

17. 11. 2002 19:20


  Po uvolneni objectu QRCompositeReport a po ukonceni programu hlasi
chybu na adrese xxx potrebuji prubezne uvolnovat jiz vytistene sestavy
protoze je se za sebou tisne několik ruznych seskupeni sestav

Pro upresneni uvadim cast kodu jestlize vyzavorkuji problem tak vse beha
ok
Jeslize je odzavorkovan tak po kliknuti na ukonceni programu hlasi chybu
Dekuji za kazdou inspiraci s pozdravem Josef kyn
  
  begin
    QRCompositeReport:=TQRCompositeReport.Create(Form1);
    QRCompositeReport.OnAddReports:=QRCompositeReport1AddReports;
    For a:=0 to Seznam_1.Count-1 do begin
      Sestava:=TTTiskovy_Form.Create(Application);
      // sestava = formular se sestavou
      .
 .
 . tvorba sestavy
      sestavy.add(sestava)
      // sestavy = tlist obsahujici seynam vytvorenych sestav
    end;
    QRCompositeReport.Preview;
    // zacatek problemu
    For a := 0 To sestavy.Count-1 do begin
      sestava := Sestavy.Items[a];
      if Assigned(Sestava)
       then Sestava.Destroy;
      sestavy.Items[a]:=nil;
    end;
    sestavy.Pack;
    QRCompositeReport.Destroy;
    // konec problemu
  end;

procedure TForm1.QRCompositeReport1AddReports(Sender: TObject);
  Var a :integer;
  begin
    For a := 0 to Sestavy.Count-1 do begin
      TQRCompositeReport(sender).Reports.Add(Sestavy.Items[a])
    end;
  end;